package com.feri.fc.order.service;

import com.feri.fc.vo.R;

/**
 * 指尖造梦，精益求精！
 *
 * @Author：Feri
 * @Date：2024/12/2 16:50
 * @Modified：
 */
public interface PhysicianOrderService {
    /**
     * 陪诊师
     * 查询抢单列表（1.产品 类型 分时或一口价 2.产生所属城市和陪诊师所在城市一致）
     * 支付成功---待分配
     * 可以被抢*/
    R queryCanList(String city);
    /**
     * 抢单
     * 多个1抢1个
     * 抗住并发量 集群部署
     * 保证 一个订单只能一个人抢成功
     * 锁：Lock sync
     * 分布式锁：在集群下，保证同一时间只能有一个可以访问
     * 集群下，需要使用分布式锁 控制并发访问，防止线程安全，因为集群下是多个服务器多个JVM实例，
     * 可是我们Lock synchronized 只能保证单JVM实例的线程安全，是因为都是基于JVM实例控制并发访问
     */
    R add(Integer oid,Integer pid);
    /**
     * 查询 陪诊师的订单*/
    R queryMy(Integer pid);
    /**
     * 修改状态*/
    R updateStatus();
}
